// 引入Koa
const Koa = require('koa')
// 引入koa-body
const {koaBody} = require('koa-body')
// 引入cors解决跨域
const cors = require('koa-cors');
// 导入路由
const Router = require('../router/index.router.js')
// 引入验证器
const bouncer = require('koa-bouncer')
// 引入托管静态资源
const static = require('koa-static')
const path = require('path')
const {verify_token} = require('../middleware/verify_token.js')
// 创建服务器
const app = new Koa()
// 中间件
// 使用跨域
app.use(cors());

app.use(async (ctx, next) => {
    await verify_token(ctx, next)
})
// 错误处理
app.on('error', err => {
	console.log('Server error: ');
	console.dir(err);
})
// 第三方包使用

// 使用koaBody
app.use(koaBody())
// 使用验证器
app.use(bouncer.middleware())
// 使用static托管静态资源
app.use(static(path.join(__dirname ,'../public')))
// 启动router
app.use(Router.routes()).use(Router.allowedMethods())


module.exports = app